When a data processing system is first powered up or is reset, the data processing system must execute a predetermined set of steps necessary to initialize the system to operate correctly. The predetermined set of steps provides a plurality of data processing instructions which initialize predetermined functions and addresses vital to the proper operation of the system. For example, a program counter and an address location might be initialized during execution of the predetermined set of steps. The program counter is typically used to indicate a starting address of a software program which initializes the data processing system to function in a predetermined manner. As well, the address location may be used to indicate where a first entry of a system stack should be stored. The system stack provides a storage location for information values used while a software data processing instruction is executed. While the data processing system is executing the predetermined set of steps to initialize vital functions, the system is generally said to be operating in "boot mode."
In a known implementation, a dedicated device executes the predetermined set of steps when a data processing system is in boot mode. The dedicated device is located in the same address space as a plurality of reset vectors. The plurality of reset vectors are used to reset the data processing system through either a software program or a logic circuit. Therefore, when the data processing system is reset, the dedicated device is accessed and a plurality of information and data processing software instructions associated with the dedicated device are executed. The information and data processing software instructions initialize the data processing system during boot mode operation and enable the data processing system to execute a predetermined set of steps.
Typically, the dedicated device is implemented in the data processing system either internally or externally, and is either a memory system or a logic circuit. If the dedicated device is implemented internally within the data processing system, a portion of the system is, therefore, dedicated for use only while the data processing system is in boot mode. Consequently, a portion of the data processing system which could otherwise enhance the functionality and performance of the system must be reserved for system initialization.
If the dedicated device is implemented externally as either the memory system or the logic portion, the overhead cost of the data processing system is significantly increased. Therefore, if a dedicated device is required to execute the predetermined set of steps when a data processing system is in boot mode, the user of the system must compromise between achieving maximum system performance and lowering the overhead cost of the system. Additionally, when the dedicated device is located in the same address space as the reset vectors, the user of the system must develop a data processing software program to enable the data processing system to operate in boot mode as well as to move the logical location of the dedicated device from the address space of the reset vectors at a predetermined point in time. Because the user of the data processing system must implement a software program to control the operation of the dedicated device, the system becomes more difficult to use. Therefore, to the user, the performance of the system is degraded during the initialization process. However, because boot mode operation is necessary during initialization of a data processing system, the user of the system must compromise both the functionality and the performance of the system.
Additionally, the testing required to insure the functionality of the boot mode operation of a data processing system can result in a substantial increase in the overall time necessary to test the entire data processing system. To test the functionality of the boot mode of operation of the data processing system, the system must be configured or programmed to operate in boot mode. As well, the system must be repeatedly reset to operate in boot mode for testing purposes. Since testing time generally corresponds to higher manufacturing costs, the time required to test the functionality of the boot mode of operation results in a higher production cost of the data processing system. Therefore, to implement the boot mode of operation in a data processing system, the cost of the entire system is increased.
Although necessary for proper operation of the data processing system, the boot mode of operation requires both a dedicated device to execute the boot mode of operation and additional test time to verify the functionality of the boot mode of operation. The dedicated device results in a compromise of both the performance and the functionality of the system. As well, the additional test time required to reset and program the data processing system for verification of boot mode operation results in higher manufacturing costs.